摘要
首页显示摘要内容(替换成自己的)
写在前面
+
傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。——–王小波
一、Web 基础
CentOS7中的Web服务
提供的默认配置
提供的默认配置 |
Listen: 监听地址:端口(80); |
ServerName: 本站点注册的DNS名称(空缺); |
DocumentRoot: 网页根目录(/var/www/html); |
DirectoryIndex: 起始页/首页文件名(index.html) |
独立Web站点的快速部署
检查防火墙,selinux。
1 2 3 4 5 6
| ┌──[root@vms81.liruilongs.github.io]-[~] └─$getenforce Disabled ┌──[root@vms81.liruilongs.github.io]-[~] └─$firewall-cmd --get-default-zone trusted
|
独立Web站点的快速部署 |
装包(httpd); |
配置(部署首页 index.html); |
起服务(httpd); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| ┌──[root@vms81.liruilongs.github.io]-[~] └─$rpm -q httpd package httpd is not installed ┌──[root@vms81.liruilongs.github.io]-[~] └─$yum -y install httpd Loaded plugins: fastestmirror Loading mirror speeds from cach ............... ┌──[root@vms81.liruilongs.github.io]-[~] └─$systemctl enable httpd --now Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. ┌──[root@vms81.liruilongs.github.io]-[~] └─$ss -ntulpa | grep http tcp LISTEN 0 128 :::80 :::* users:(("httpd",pid=84865,fd=4),("httpd",pid=84864,fd=4),("httpd",pid=84863,fd=4),("httpd",pid=84862,fd=4),("httpd",pid=84861,fd=4),("httpd",pid=84858,fd=4)) ┌──[root@vms81.liruilongs.github.io]-[~] └─$echo "生活加油!^_^" > /var/www/html/index.html ┌──[root@vms81.liruilongs.github.io]-[~] └─$curl http://192.168.26.81 生活加油!^_^
|
修改Apache的默认路径
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| ┌──[root@vms81.liruilongs.github.io]-[~] └─$rpm -qc httpd #查看httpd服务中的配置文件 /etc/httpd/conf.d/autoindex.conf /etc/httpd/conf.d/userdir.conf /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.modules.d/00-base.conf /etc/httpd/conf.modules.d/00-dav.conf /etc/httpd/conf.modules.d/00-lua.conf /etc/httpd/conf.modules.d/00-mpm.conf /etc/httpd/conf.modules.d/00-proxy.conf /etc/httpd/conf.modules.d/00-systemd.conf /etc/httpd/conf.modules.d/01-cgi.conf /etc/httpd/conf/httpd.conf #主配置文件 /etc/httpd/conf/magic /etc/logrotate.d/httpd /etc/sysconfig/htcacheclean /etc/sysconfig/httpd ┌──[root@vms81.liruilongs.github.io]-[~] └─$
|
配置文件修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| ┌──[root@vms81.liruilongs.github.io]-[~] └─$grep -v -w "#" /etc/httpd/conf/httpd.conf | grep -v ^$ | grep -v ^ ServerRoot "/etc/httpd" Listen 80 Include conf.modules.d/*.conf User apache Group apache ServerAdmin root@localhost <Directory /> AllowOverride none Require all denied </Directory> DocumentRoot "/var/www/html" <Directory "/var/www"> AllowOverride None Require all granted </Directory> <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> <IfModule dir_module> DirectoryIndex index.html </IfModule> <Files ".ht*"> Require all denied </Files> ErrorLog "logs/error_log" LogLevel warn <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> CustomLog "logs/access_log" combined </IfModule> <IfModule alias_module> ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" </IfModule> <Directory "/var/www/cgi-bin"> AllowOverride None Options None Require all granted </Directory> <IfModule mime_module> TypesConfig /etc/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType text/html .shtml AddOutputFilter INCLUDES .shtml </IfModule> AddDefaultCharset UTF-8 <IfModule mime_magic_module> MIMEMagicFile conf/magic </IfModule> EnableSendfile on IncludeOptional conf.d/*.conf ┌──[root@vms81.liruilongs.github.io]-[~] └─$
|
二、常用配置解析
客户机地址限制
使用 配置区段 |
每个文件夹自动继承其父目录的ACL访问权限; |
除非针对子目录有明确设置; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <Directory 目录的绝对路径> ...... Require all denied|granted Require ip IP或网段地址 ...... </Directory>
<Directory /var/www/myweb> Require all denied </Directory> <Directory /var/www/nsd> Require all granted </Directory> <Directory /var/www/myweb/abc> Require all granted </Directory>
|
禁止任何客户机访问
1 2 3 4
| <Directory /> Require all denied </Directory>
|
允许任何客户机访问
1 2 3
| <Directory "/var/www/html"> Require all granted </Directory>
|
仅允许部分客户机访问
1 2 3
| <Directory "/var/www/html/private"> Require ip 127.0.0.1 ::1 172.25.0.11 </Directory>
|
自定义其他目录为httpd的根目录
1 2 3 4 5 6 7 8 9
| [root@liruilong ~] [root@liruilong ~] 118 119 120 DocumentRoot "/webapp" 131 <Directory "/webapp"> 132 Require all granted 133 </Directory> [root@liruilong ~]
|
三、虚拟Web主机
虚拟Web主机:由同一台服务器提供多个不同的Web站点;
配置一个虚拟站点
配置文件路径
1 2
| /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/*.conf
|
为每个虚拟机站点添加配置:类似于反向代理
1 2 3 4
| <VirtualHost IP地址:端口> #IP地址为本机的IP地址,监控的是本机的哪个端口 ServerName 此站点的 DNS 名称 DocumentRoot 此站点的网页根目录 </VirtualHost>
|
定义qq 和 baidu 的虚拟主机
1 2 3 4 5 6 7 8
| <VirtualHost *:80> ServerName www.qq.com #域名 DocumentRoot /var/www/qq #根目录 </VirtualHost> <VirtualHost *:80> ServerName www.baidu.com #域名 DocumentRoot /var/www/baidu #根目录 </VirtualHost>
|
1 2 3 4 5 6 7 8 9 10 11 12
| ┌──[root@vms81.liruilongs.github.io]-[~] └─$cat /etc/httpd/conf.d/nsd01.conf <VirtualHost *:80> ServerName www.qq.com DocumentRoot /var/www/qq </VirtualHost> <VirtualHost *:80> ServerName www.baidu.com DocumentRoot /var/www/baidu </VirtualHost> ┌──[root@vms81.liruilongs.github.io]-[~] └─$mkdir /var/www/qq baidu
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| [root@liruilong ~] ...... 192.168.4.5 www.qq.com 192.168.4.5 www.baidu.com
[root@liruilong ~] [root@liruilong ~] 页面
[root@liruilong ~] www.qq.com [root@liruilong ~] www.baidu.com
|
对默认 Web 站点的影响
一旦启用虚拟 Web 主机以后,外部的 DocumentRoot、ServerName 会被忽略;第1个虚拟站点被视为默认站点,若客户机请求的 URL 不属于任何已知站点,则由第一个站点相应;
一、DNS服务概述
负责域名解析的DNS服务:DNS(Domain Name System)服务是和HTTP协议一样位于应用层的协议,提供域名到IP地址之间的解析服务(通过域名查找IP地址,或逆向)。计算机既可以被赋予IP地址,也可以被赋予主机名和域名。
DNS解析的作用
方向 |
描述 |
正向解析 |
根据主机名称 (域名) 查找其对应的 IP 地址;这是最基本、最常用的功能; |
反向解析 |
根据IP 地址查找其对应的主机名称 (域名);反垃圾邮件/安全防护等领域使用; |
DNS的分布式结构
大型、分布式的互联网 DNS 解析库 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
.com .net .edu .cn .org .us .kr .hk .tw
.net.cn .com.cn .edu.cn
.sina.com.cn .liruilong.com.cn
可以自己根据服务的功能随意去定义
|
BIND 域名服务
1 2 3 4 5 6 7 8 9 10 11 12
| ┌──[root@vms81.liruilongs.github.io]-[/var/www] └─$yum -y install bind-chroot bind ┌──[root@vms81.liruilongs.github.io]-[/var/www] └─$rpm -qa bind* bind-libs-lite-9.11.4-26.P2.el7_9.7.x86_64 bind-9.11.4-26.P2.el7_9.7.x86_64 bind-license-9.11.4-26.P2.el7_9.7.noarch bind-libs-9.11.4-26.P2.el7_9.7.x86_64 bind-export-libs-9.11.4-26.P2.el7_9.7.x86_64 bind-chroot-9.11.4-26.P2.el7_9.7.x86_64 ┌──[root@vms81.liruilongs.github.io]-[/var/www] └─$
|
BIND 服务器端程序 |
主要执行程序:/usr/sbin/named |
服务名:named |
默认端口:TCP/UDP 53 |
运行时的虚拟根环境:/var/named/chroot/ |
主配置文件:/etc/named.conf |
地址库文件:/var/named/…… |
主配置文件:负责定义DNS服务器对哪个域名来进行解析 |
地址库文件:存放域名对应对应的IP地址 例如:www.baidu.com 192.168.3.4 192.168.4.3等等 |
二、构建DNS服务器
named.conf 配置解析
配置部分 |
描述 |
全局配置部分 |
设置监听地址/端口、区域数据存放位置等 |
区域配置部分 |
定义 DNS 区域、类型、地址文件路径等;关键词 IN 表示 Internet,可省略; |
修改DNS服务的配置文件
1 2 3 4 5 6 7 8
| [root@liruilong ~]
[root@liruilong ~] SELINUX=disabled [root@liruilong ~] Disabled
|
systemctl reload httpd和systemctl daemon-reload的区别
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| ┌──[root@liruilongs.github.io]-[~] └─$ systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system/httpd.service.d └─50-BlockIOAccounting.conf, 50-CPUShares.conf, 50-MemoryLimit.conf Active: active (running) since 三 2022-04-13 11:42:48 CST; 17s ago Docs: man:httpd(8) man:apachectl(8) Main PID: 38628 (httpd) Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec" Tasks: 6 Memory: 2.8M (limit: 500.0M) CGroup: /system.slice/httpd.service ├─38628 /usr/sbin/httpd -DFOREGROUND ├─38629 /usr/sbin/httpd -DFOREGROUND ├─38630 /usr/sbin/httpd -DFOREGROUND ├─38631 /usr/sbin/httpd -DFOREGROUND ├─38632 /usr/sbin/httpd -DFOREGROUND └─38633 /usr/sbin/httpd -DFOREGROUND
4月 13 11:42:48 liruilongs.github.io systemd[1]: Starting The Apache HTTP Server... 4月 13 11:42:48 liruilongs.github.io systemd[1]: Started The Apache HTTP Server. ┌──[root@liruilongs.github.io]-[~] └─$
|
修改
1 2 3 4 5 6 7 8 9
| ┌──[root@liruilongs.github.io]-[~] └─$ vim /usr/lib/systemd/system/httpd.service ┌──[root@liruilongs.github.io]-[~] └─$ systemctl reload httpd Warning: httpd.service changed on disk. Run 'systemctl daemon-reload' to reload units. ┌──[root@liruilongs.github.io]-[~] └─$ systemctl daemon-reload ┌──[root@liruilongs.github.io]-[~] └─$
|